package com.zhongwang.mms.module.material.dao;



import com.zhongwang.mms.gen.entity.MAdjust;
import com.zhongwang.mms.gen.entity.MAdjustmentApply;
import com.zhongwang.mms.gen.entity.MInventory;
import com.zhongwang.mms.gen.entity.MOrderDetail;
import com.zhongwang.mms.module.material.model.MAdjustModel;
import com.zhongwang.mms.module.material.model.MAdjustInsModel;
import com.zhongwang.mms.module.material.model.MinventorytModel;
import com.zhongwang.mms.module.material.model.MmaterialsDic;
import org.springframework.stereotype.Repository;

import java.util.Date;
import java.util.List;





@Repository
public interface MaterApplyDao {

    //库存调整列表加载查询
    List<MinventorytModel> findCreateProjectDaily(MinventorytModel minventorytModel);

    //调整申请首页加载
    List<MAdjustModel>onefindProjectPage(MAdjustModel madjustModel);

    //删除未提交数据
    int updateProjectStatus(MAdjustModel madjustModel);

    //查询库存调整申请表
    MAdjustModel findviewtDailyId(MAdjustModel madjustModel);

//   未提交时审核查看查询
//  MAdjustInsModel findViewDailyId(Integer ityStoId);

    //提交待审核数据
    int updateProjectStatusand(MAdjustModel madjustModel);

    //修改库存调整时状态
//    int updateinveDateStatus(MinventorytModel minventorytModel);

    //调整审核列表加载查询
    List<MAdjustModel> findProjectDailychenck(MAdjustModel madjustModel);

    //申请选择时列表加载
    List<MAdjustInsModel> StockProjectDaily(MAdjustInsModel MAdjustInsModel);

    //根据id查询库存信息
    MinventorytModel getById(Integer ityId);

    //将调整数据插入库存表中
    int insert(MAdjustModel madjustModel);

    //根据id查询原物料基础信息
//    MinventorytModel getByInsertId(Integer ityId);

    //根据物料id查询信息
    List<MmaterialsDic> materialmatId(MmaterialsDic mmaterialsDic);

    //库存申请修改时数据回显
    MAdjustModel getByUpdateAdjId(Integer adjId);

    //提交库存调整修改申请
    int getByUpdateAdjIdAdd(MAdjustModel mAdjustModel);

    //调整审核通过
    int updateauditpass(MAdjustModel madjustModel);

    //调整审核不通过
    int updateauditfailed(MAdjustModel madjustModel);

    //库存调整时新增库存信息
    int insertStock(MAdjustModel madjustModel);

    //查询申请表数据
    MAdjustModel selectByPrimaryKey(MAdjustModel madjustModel);

    //查询盘点审核库存信息
    MAdjustModel selectByInventory(Integer adjId);

    //审核通过更新库存表信息查询
    MinventorytModel selectByExample(MinventorytModel minventorytModel);

    //查询库存信息
    MinventorytModel selectByityIdInventory(Integer ityId);

    //审核通过后查询出入库表
    int insertMorder(MOrderDetail mOrderDetail);

    //调整库存物料信息与单位信息
    int oneinsert(MAdjustModel madjustModel);

    //查询调整申请日期
    List<MAdjustModel> findAdjByDate(Date date2);

    //修改数量审核通过后修改库存表数据
    int updateAddMinvent(MinventorytModel minventorytModel);

    //修改物料描述时更新库存数据
    int updateAddhInventory(MInventory mInventory);

    //通过ID查询库存信息
    MInventory getMInventoryBuItyId(Integer ityId);

    //盘点审核回写
    int updateByExample(MAdjustmentApply mAdjustmentApply);

    //调整提交时根据id查找记录一数据
    MAdjustModel findAdjByOderCode(Integer adjId);

    //根据提交主键，查找同时生成的记录二数据
    MAdjustModel findAdjByOderCodeTow(MAdjustModel madjustModel);

    //通过生成编号查看待提交数据
    MAdjustModel SelfindAdjByOderCode(MAdjustModel madjustModel);
}